From e195341e306055671a7fad35aebc30f786ca0a2d Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 31 May 2020 23:42:36 -0400 Subject: [PATCH] gtk-demo: Flesh out the settings demo Add columns for type and default value. --- demos/gtk-demo/listview_settings.c | 21 ++++++++++++ demos/gtk-demo/listview_settings.ui | 52 +++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+) diff --git a/demos/gtk-demo/listview_settings.c b/demos/gtk-demo/listview_settings.c index 944b764dd6..deecdaeb57 100644 --- a/demos/gtk-demo/listview_settings.c +++ b/demos/gtk-demo/listview_settings.c @@ -25,6 +25,8 @@ enum { PROP_SUMMARY, PROP_DESCRIPTION, PROP_VALUE, + PROP_TYPE, + PROP_DEFAULT_VALUE, N_PROPS }; @@ -65,6 +67,21 @@ settings_key_get_property (GObject *object, } break; + case PROP_TYPE: + { + const GVariantType *type = g_settings_schema_key_get_value_type (self->key); + g_value_set_string (value, g_variant_type_peek_string (type)); + } + break; + + case PROP_DEFAULT_VALUE: + { + GVariant *variant = g_settings_schema_key_get_default_value (self->key); + g_value_take_string (value, g_variant_print (variant, FALSE)); + g_variant_unref (variant); + } + break; + default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; @@ -98,6 +115,10 @@ settings_key_class_init (SettingsKeyClass *klass) g_param_spec_string ("summary", NULL, NULL, NULL, G_PARAM_READABLE); properties[PROP_VALUE] = g_param_spec_string ("value", NULL, NULL, NULL, G_PARAM_READABLE); + properties[PROP_TYPE] = + g_param_spec_string ("type", NULL, NULL, NULL, G_PARAM_READABLE); + properties[PROP_DEFAULT_VALUE] = + g_param_spec_string ("default-value", NULL, NULL, NULL, G_PARAM_READABLE); g_object_class_install_properties (gobject_class, N_PROPS, properties); } diff --git a/demos/gtk-demo/listview_settings.ui b/demos/gtk-demo/listview_settings.ui index 8bf12cf496..cc9f7f8a9c 100644 --- a/demos/gtk-demo/listview_settings.ui +++ b/demos/gtk-demo/listview_settings.ui @@ -120,6 +120,58 @@ + + ]]> + + + + + + + Type + + + + + + + ]]> + + + + + + + Default + + + + + ]]> -- 2.30.2